package com.cskaoyan._02method._03methodcases;

import java.util.Random;

/**
 * @author Macro_Ray
 * @since 2024/3/5 19:40
 */
/* 定义方法实现随机产生一个5位的验证码
 * 验证码格式:长度为5，前四位是大写字母或者小写字母，最后一位是数字*/

// 分析
// 以后如果要在一堆没有什么规律的数据中随机抽取
// 可以先把这些数据存入数组当中，在随机抽取一个索引

public class _01Test_03 {
    public static void main(String[] args) {
        char[] letters = findLetters();
        Random r = new Random();
        int number1 = findNumber();

        // 定义一个字符串类型的变量用来记录最后的结果
        String result = "";
        // 生成4个随机字母
        for (int i = 0; i < 4; i++) {
            int index2 = r.nextInt(52);
            result = result + letters[index2];
        }
        // 拼接数字形成最终答案
        System.out.print(result + number1);
    }

    // 返回一个存放着所有大小写字母的数组
    public static char[] findLetters() {
        char[] Letters = new char[52];
        int index = 0;
        // 存入小写字母
        for (char i = 'a'; i <= 'z'; i++) {
            Letters[index] = i;
            index++;
        }
        // 存入大写字母
        for (char i = 'A'; i <= 'Z'; i++) {
            Letters[index] = i;
            index++;
        }
        return Letters;
    }

    // 找到一个一位的随机数
    public static int findNumber() {
        Random random = new Random();
        int i = random.nextInt(10);
        return i;
    }
}
